Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagec#
using System;
using System.Collections.Generic;
using System.Linq;
using Alastri.RR.Ui;
using Alastri.RR.Service;
 
public class LabelFormat : ILabel
{  
    public string GetLabel(ShadingContext context)
    {
        List<string> wasteList = new List<string>(){ "w", "lg1", "lg2", "lg3" };
        
        double oreTonnes = 0;
         
        foreach(var parcel in context.GetParcels())
        {
            if(!wasteList.Contains(parcel.ToLower()))
            {
                oreTonnes += context.GetReserveValue("DryTonnes", parcel);
            }
        }
        
	double allTonnes = context.GetReserveValue("DryTonnes");
		
        return allTonnes == 0 ? "0" : (oreTonnes / allTonnes).ToString("0.0%");
    }
}

...

Присвоение имен по качеству
Code Block
languagec#
using System;
using Alastri.RR.Ui;
using Alastri.RR.Service;

public class LabelFormat : ILabel
{        
    public string GetLabel(ShadingContext context)
    {
        string mine = context.GetLevelName("Mine");
        string pit = context.GetLevelName("Pit");
        string bench = context.GetLevelName("Bench");
        string blast = context.GetLevelName("Solid");
        string gradeBlock = context.GetSolidPropertyString("GradeBlock");

        if(context.ReservesDataSource.ToString() == "BlockModel")
        {
             return mine + "/" + pit + "/" + bench + "/" + blast;
        }
        else
        {
	     blast = blast.Split('_')[0];
             return mine + "/" + pit + "/" + bench + "/" + blast + "/" + gradeBlock;
        }
    }
}

...