Ejemplo n.º 1
0
        //подбор аналогов 2.0
        public bool GetCbrAnalog(ProjectEquipment pe, CurrentBreaker cbr)
        {
            using (DataEntities db = new DataEntities())
            {
                var listAnalog = from cban in db.CurrentBreakers
                                 where cban.IdDisCurrent == cbr.IdDisCurrent && cban.IdCbCurrent == cbr.IdCbCurrent &&
                                 cban.IdIcuValue == cbr.IdIcuValue && cban.IdDisType == cbr.IdDisType &&
                                 cban.IdPoleNumber == cbr.IdPoleNumber
                                 select cban;

                if (listAnalog.Count() > 1)
                {
                    foreach (CurrentBreaker c in listAnalog)
                    {
                        ProjectEquipment newpe = new ProjectEquipment();

                        if (c.Id != cbr.Id) //исключить текущий выключатель из подбора аналогов
                        {
                            if (pe.IdProjectNumber != null)
                            {
                                newpe.IdProjectNumber = pe.IdProjectNumber;
                            }
                            newpe.IdCbr  = c.Id;
                            newpe.Analog = true;
                            newpe.IdNote = pe.IdNote;

                            db.ProjectEquipments.Add(newpe);
                        }
                    }
                    db.SaveChanges();
                    return(true);
                }
                else
                {
                    ProjectEquipment notAnalog = new ProjectEquipment();
                    if (pe.IdProjectNumber != null)
                    {
                        notAnalog.IdProjectNumber = pe.IdProjectNumber;
                    }
                    notAnalog.IdCbr  = 4354; // нет аналога
                    notAnalog.Analog = true;
                    notAnalog.IdNote = pe.IdNote;
                    db.ProjectEquipments.Add(notAnalog);

                    db.SaveChanges();
                    return(false);
                }
            }
        }
Ejemplo n.º 2
0
        //создать новое "наименование присоединения"
        public int InsertProjectNote(CurrentBreaker cbr, Project project, string connectionNumber)
        {
            using (DataEntities db = new DataEntities())
            {
                EquipNote pn = new EquipNote();
                pn.Text = connectionNumber;
                if (project != null)
                {
                    pn.IdProjectNumber = project.IdNumber;
                }

                db.EquipNotes.Add(pn);
                db.SaveChanges();

                return(pn.Id);
            }
        }
Ejemplo n.º 3
0
        //добавить выключатель в проект
        public ProjectEquipment AttachCbr(Project project, CurrentBreaker cbr, string connectionNumber)
        {
            using (DataEntities db = new DataEntities())
            {
                ProjectEquipment pe = new ProjectEquipment();

                if (project.IdNumber != 0)
                {
                    pe.IdProjectNumber = project.IdNumber;
                    pe.IdNote          = InsertProjectNote(cbr, project, connectionNumber);
                }
                else
                {
                    pe.IdNote = InsertProjectNote(cbr, null, connectionNumber);
                }
                pe.IdCbr  = cbr.Id;
                pe.Analog = false;

                db.ProjectEquipments.Add(pe);
                db.SaveChanges();

                return(pe);
            }
        }
Ejemplo n.º 4
0
        //замена выключателя в проекте
        public ProjectEquipment ReplaceProjectCbr(Project project, string connectionNumber, CurrentBreaker newCbr)
        {
            using (DataEntities db = new DataEntities())
            {
                int?pidn = null;
                if (project.IdNumber != 0)
                {
                    pidn = project.IdNumber; //если связан с проектом
                }
                var peCbr = (from pe in db.ProjectEquipments
                             join cbr in db.CurrentBreakers on pe.IdCbr equals cbr.Id
                             join en in db.EquipNotes on pe.IdNote equals en.Id
                             where en.Text == connectionNumber && pe.IdProjectNumber == pidn && pe.Analog == false
                             select pe).SingleOrDefault();

                DisattachAnalog(peCbr, project, false); //удалить связанные аналоги

                if (peCbr != null)
                {
                    peCbr.IdCbr = newCbr.Id;
                    db.ProjectEquipments.Attach(peCbr);
                    db.Entry(peCbr).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();

                    var peCbrnew = (from pe in db.ProjectEquipments
                                    where pe.Id == peCbr.Id
                                    select pe).SingleOrDefault();
                    return(peCbrnew);
                }
                else
                {
                    return(null);
                }
            }
        }
Ejemplo n.º 5
0
 //замена выключателя в проекте
 public static ProjectEquipment ReplaceProjectCbr(Project project, string connectionNumber, CurrentBreaker newCbr)
 {
     return(equipobj.ReplaceProjectCbr(project, connectionNumber, newCbr));
 }
Ejemplo n.º 6
0
 //добавить выключатель в проект
 public static ProjectEquipment AttachCbr(Project project, CurrentBreaker cbr, string connectionNumber)
 {
     return(equipobj.AttachCbr(project, cbr, connectionNumber));
 }
Ejemplo n.º 7
0
 //подбор аналогов 2.0
 public static bool GetCbrAnalog(ProjectEquipment pe, CurrentBreaker cbr)
 {
     return(equipobj.GetCbrAnalog(pe, cbr));
 }