public void Save(MaintenanceObject maintenance)
        {
            SqlCommand cmd = null;

            try
            {
                ExecuteNonQuery(out cmd, false, "Maintenance_SAVE",
                                CreateParameter("@maintID", SqlDbType.UniqueIdentifier, maintenance.MaintID, ParameterDirection.InputOutput),
                                CreateParameter("@maintvehID", SqlDbType.UniqueIdentifier, maintenance.MaintenanceVehicle == null? Guid.Empty : maintenance.MaintenanceVehicle.MaintVehID),
                                CreateParameter("@matID", SqlDbType.UniqueIdentifier, maintenance.Material.MatID),
                                CreateParameter("@empIDExecutor", SqlDbType.UniqueIdentifier, maintenance.Executor == null ? Guid.Empty : maintenance.Executor.EmpID),
                                CreateParameter("@Remark", SqlDbType.VarChar, maintenance.Remark),
                                CreateParameter("@StartMaintenance", SqlDbType.VarChar, PROF_IT.Common.Convert.DateFunctions.DateToLongStrDate(maintenance.StartMaintenance))
                                );
                maintenance.MaintID = (Guid)cmd.Parameters["@maintID"].Value;
            }
            catch (Exception exception1)
            {
                Exception innerException = exception1;
                throw new Exception(MethodBase.GetCurrentMethod().Name, innerException);
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
                cmd = null;
            }
        }
        public bool Remove(MaintenanceObject maintenance)
        {
            SqlCommand cmd = null;

            try
            {
                ExecuteNonQuery(out cmd, false, "Maintenance_DELETE",
                                CreateParameter("@maintID", SqlDbType.UniqueIdentifier, maintenance.MaintID, ParameterDirection.Input)
                                );
                return(true);
            }
            catch (Exception exception1)
            {
                Exception innerException = exception1;
                throw new Exception(MethodBase.GetCurrentMethod().Name, innerException);
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
                cmd = null;
            }
        }
Example #3
0
 public void Remove(MaintenanceObject maintenance)
 {
     try
     {
         CheckTransaction();
         if (maintenance.MaterialRevisions.Count != 0)
         {
             new BL.Internal.MaterialRevision(Transaction).RemoveAll(maintenance.MaterialRevisions);
         }
         new MaintenanceDataService(Transaction).Remove(maintenance);
         if (IsOwner)
         {
             Transaction.Commit();
         }
     }
     catch (Exception exception1)
     {
         if (IsOwner)
         {
             Transaction.Rollback();
         }
         Exception innerException = exception1;
         throw new Exception(MethodBase.GetCurrentMethod().Name, innerException);
     }
     finally
     {
         if (IsOwner)
         {
             Connection.Close();
         }
     }
 }
Example #4
0
        private void SetSpecifications(MaintenanceObject entity, IRepository repository)
        {
            var specificationsMap = entity.Specifications.ToDictionary(x => x.Specification.Id);

            Specifications.ToList().ForEach(x =>
            {
                //Если характеристика уже существует
                if (specificationsMap.ContainsKey(x.SpecificationId))
                {
                    //если значения нет, то удаляем характеристику
                    if (String.IsNullOrEmpty(x.Value?.ToString()))
                    {
                        entity.RemoveSpecification(specificationsMap[x.SpecificationId]);
                    }
                    else
                    {
                        specificationsMap[x.SpecificationId].Value = x.Value.ToString();
                    }
                }
                else
                {
                    if (!String.IsNullOrEmpty(x.Value?.ToString()))
                    {
                        entity.AddSpecification(new ObjectSpecification(
                                                    repository.Get <Specification>(x.SpecificationId),
                                                    x.Value.ToString()
                                                    ));
                    }
                }
            });
        }
Example #5
0
        public override MaintenanceObject GetEntity(IRepository repository)
        {
            MaintenanceObject replaceObject = null;

            if (ReplaceObjectId != null)
            {
                replaceObject = repository.Get <MaintenanceObject>(ReplaceObjectId.Value);
            }

            var newObject = new MaintenanceObject(
                repository.Get <ObjectGroup>(GroupId),
                TechIndex,
                StartOperating,
                Period == null? new Period(DateTime.Now):new Period(Period.Value),
                LastMaintenance == null? null: LastMaintenance.Select(x => x.GetEntity(repository)),
                replaceObject
                );

            newObject.Plant = repository.Get <Plant>(PlantId.Value);
            newObject.Site  = Site;

            if (ParentId != null)
            {
                var parent = repository.Get <MaintenanceObject>(ParentId.Value);
                parent.AddChild(newObject);

                repository.Save(parent);
            }



            return(newObject);
        }
Example #6
0
        private IEnumerable <ObjectSpecificationDto> GetSpecifications(MaintenanceObject entity)
        {
            var objectSpecifications = entity.Specifications.ToDictionary(x => x.Specification.Id);

            var groupSpecifications = new Dictionary <int, GroupSpecification>();

            var _group = entity.Group;

            while (_group != null)
            {
                _group.Specifications.ToList().ForEach(s =>
                {
                    groupSpecifications.Add(s.Specification.Id, s);
                });
                _group = _group.Parent;
            }

            //Берём тех. характеристики из группы объекта
            //Если есть своё значение тех.характеристики, то берём его, если нет, то пустая стока
            //Если у объекта характеристик нет (он был только добавлен), то устанавливаем значение по умолчанию для группы
            return(groupSpecifications.Keys.Select(x =>
            {
                return new ObjectSpecificationDto(
                    entity.Id,
                    groupSpecifications[x].Specification,
                    objectSpecifications.Any() ?
                    (objectSpecifications.ContainsKey(x) ? objectSpecifications[x].Value : "") :
                    groupSpecifications[x].DefaultValue
                    );
            }));
        }
Example #7
0
 public void Save(MaintenanceObject maintenance)
 {
     try
     {
         CheckTransaction();
         new MaintenanceDataService(Transaction).Save(maintenance);
         if (IsOwner)
         {
             Transaction.Commit();
         }
     }
     catch (Exception exception1)
     {
         if (IsOwner)
         {
             Transaction.Rollback();
         }
         Exception innerException = exception1;
         throw new Exception(MethodBase.GetCurrentMethod().Name, innerException);
     }
     finally
     {
         if (IsOwner)
         {
             Connection.Close();
         }
     }
 }
Example #8
0
        /// <summary>
        /// Initializes Object Classes On Page Init
        /// </summary>
        /// <param name="sender">Sending Object</param>
        /// <param name="e">Event Args</param>
        protected void Page_Init(object sender, EventArgs e)
        {
            //Set Connection Info
            _connectionString = ConfigurationManager.ConnectionStrings["connection"].ToString();
            _useWeb           = (ConfigurationManager.AppSettings["UsingWebService"] == "Y");

            //Initialize Classes
            _oMaintenanceObject = new MaintenanceObject(_connectionString, _useWeb);
        }
Example #9
0
        public MaintenanceActual(MaintenanceObject maintenanceObject)
        {
            maintenanceObject.LastMaintenance.ToList().ForEach(x =>
            {
                snapshot.Add(new LastMaintenanceSnapshot(this, x));
            });

            Object = maintenanceObject;
        }
Example #10
0
 public void Initialize()
 {
     try
     {
         MaintenanceMember          = new MaintenanceObject();
         MaintenanceMember.Material = Material;
         CreateNewMaterialRevisions();
         gdcRevision.DataSource = MaterialRevisions;
     }
     catch (System.Exception exception1)
     {
         System.Exception innerException = exception1;
         throw new System.Exception(MethodBase.GetCurrentMethod().Name, innerException);
     }
 }
Example #11
0
        public MaterialRevisionObjectCollection GetByMaintenance(MaintenanceObject maintenance)
        {
            MaterialRevisionObjectCollection materialRevisions;

            try
            {
                materialRevisions = new MaterialRevisionDataService().GetByMaintenance(maintenance);
            }
            catch (System.Exception exception1)
            {
                System.Exception innerException = exception1;
                throw new System.Exception(MethodBase.GetCurrentMethod().Name, innerException);
            }
            return(materialRevisions);
        }
Example #12
0
 private void gdvMaintenance_DoubleClick(object sender, EventArgs e)
 {
     try
     {
         GridView                view        = (GridView)sender;
         MaintenanceObject       maintObj    = (MaintenanceObject)view.GetRow(view.FocusedRowHandle);
         Maintenance.Maintenance maintenance = new Maintenance.Maintenance(PROF_IT.Common.Enumerations.TypeForm.PropertyForm, MaterialMember, maintObj);
         maintenance.ShowDialog();
         gdcMaintenance.DataSource = MaterialMember.Maintenances.GetActive();
     }
     catch (System.Exception excepion1)
     {
         System.Exception thisException = excepion1;
         Management.ShowException(thisException);
     }
 }
Example #13
0
        public override void SetEntity(MaintenanceObject entity)
        {
            base.SetEntity(entity);
            ParentId        = entity.Parent?.Id;
            ReplaceObjectId = entity.ReplaceObject?.Id;
            StartOperating  = entity.StartOperating;
            NextMaintenance = entity.NextMaintenance;
            NextUsageNorm   = entity.NextUsageNorm;
            NextUsageFact   = entity.NextUsageFact;


            LastMaintenance = entity.LastMaintenance.Select(x => new LastMaintenanceDto(x));
            Specifications  = GetSpecifications(entity);
            Usage           = entity.Usage.Select(x => new UsageActualDto(x));
            Maintenance     = entity.Maintenance.ToList().Select(x => new MaintenanceActualDto(x));
            States          = entity.OperatingStates.Select(x => new OperatingStateDto(x));
            Intervals       = entity.Intervals.Select(x => new MaintenanceIntervalDto(x));
            Children        = entity.Children.Select(x => x.Id);
        }
Example #14
0
 void IEditableObject.EndEdit()
 {
     try
     {
         if (_inTxn)
         {
             _loadedAnswer      = Answer;
             _loadedMaintenance = Maintenance;
             _loadedRevision    = Revision;
             _loadedCategory    = Category;
             _inTxn             = true;
         }
     }
     catch (Exception exception1)
     {
         Exception innerException = exception1;
         throw new Exception(MethodBase.GetCurrentMethod().Name, innerException);
     }
 }
Example #15
0
        public MaterialRevisionObjectCollection GetByMaintenance(MaintenanceObject maintenance)
        {
            MaterialRevisionObjectCollection materialRevisions = new MaterialRevisionObjectCollection();
            QueryBuilder builder;

            try
            {
                builder = new QueryBuilder();
                builder.Append(this.BaseQuery(false, 0));
                builder.AppendWhereString(MaterialRevisionObject.MAINT_ID, maintenance.MaintID.ToString(), QueryBuilder.ComparisonOperators.Equal, QueryBuilder.ParameterLocation.FIRST);
                builder.Append("AND " + MaterialRevisionObject.MAINT_ID + " is not null ");
                materialRevisions = MaterialRevisionConvertor.DataTableToCollection(this.ExecuteDataSet(builder.Query, false).Tables[0]);
            }
            catch (System.Exception exception1)
            {
                throw new Exception(MethodBase.GetCurrentMethod().Name, exception1);
            }
            return(materialRevisions);
        }
Example #16
0
 private void btnRemoveMaintenance_Click(object sender, EventArgs e)
 {
     try
     {
         MaintenanceObject maintenance = (MaintenanceObject)gdvMaintenance.GetRow(gdvMaintenance.FocusedRowHandle);
         maintenance.State = PROF_IT.Common.Enumerations.ObjectState.Deleted;
         if (!maintenance.ChildsAdded)
         {
             maintenance.MaterialRevisions = new BL.Internal.MaterialRevision().GetByMaintenance(maintenance);
         }
         new BL.Internal.Maintenance().Remove(maintenance);
         gdcMaintenance.DataSource   = MaterialMember.Maintenances.GetActive();
         dteNextMaintenance.DateTime = MaterialMember.NextMaintenance;
     }
     catch (System.Exception exception1)
     {
         System.Exception thisException = exception1;
         Management.ShowException(thisException);
     }
 }
Example #17
0
 private void gdvMaintenance_RowUpdated(object sender, DevExpress.XtraGrid.Views.Base.RowObjectEventArgs e)
 {
     try
     {
         CardView view = (CardView)sender;
         if (view.FocusedRowHandle != DevExpress.XtraGrid.GridControl.AutoFilterRowHandle)
         {
             MaintenanceObject maintenance = (MaintenanceObject)view.GetRow(view.FocusedRowHandle);
             if (maintenance != null)
             {
                 maintenance.Material = MaterialMember;
                 new BL.Internal.Maintenance().Save(maintenance);
             }
         }
     }
     catch (System.Exception exception1)
     {
         System.Exception thisException = exception1;
         Management.ShowException(thisException);
     }
 }
        public MaintenancePlan(MaintenanceObject maintenanceObject, MaintenanceType maintenanceType, DateTime date, bool isTransfer = false, bool isOffer = false, MaintenanceReason offer = null)
        {
            Object          = maintenanceObject;
            MaintenanceType = maintenanceType;
            MaintenanceDate = date;
            IsOffer         = isOffer;
            OfferReason     = offer;
            IsTransfer      = isTransfer;

            var map = Object.LastMaintenance.ToDictionary(x => x.MaintenanceType.Id);

            //фиксируем наработку для плана
            if (map.ContainsKey(maintenanceType.Id))
            {
                UsageForPlan = map[maintenanceType.Id].UsageFromLastMaintenance;
            }

            //Фиксируем предыдущий ремонт
            var previous = Object.Maintenance.OrderBy(x => x.StartMaintenance).LastOrDefault();

            if (previous != null)
            {
                var last = map[previous.MaintenanceType.Id];

                PreviousDate            = last.LastMaintenanceDate;
                PreviousMaintenanceType = last.MaintenanceType;
                PreviousUsage           = last.UsageFromLastMaintenance;
            }
            //Если предыдущего обслуживания мы не нашли, то пытаемся взять дату предыдущего обслуживания в данных с последних ремонтов LastMaintenance
            else
            {
                var intervals = Object.Intervals.ToList();
                intervals.Sort();

                int?     type     = null;
                DateTime?lastDate = null;

                intervals.ForEach(x =>
                {
                    if (type != null && lastDate != null)
                    {
                        var _date = map[x.MaintenanceType.Id].LastMaintenanceDate;

                        if (_date != null && _date > lastDate)
                        {
                            type     = x.MaintenanceType.Id;
                            lastDate = _date;
                        }
                    }
                    else
                    {
                        type     = x.MaintenanceType.Id;
                        lastDate = map[type.Value].LastMaintenanceDate;
                    }
                });

                if (type != null && lastDate != null)
                {
                    PreviousDate            = map[type.Value].LastMaintenanceDate;
                    PreviousMaintenanceType = map[type.Value].MaintenanceType;
                    PreviousUsage           = map[type.Value].UsageFromLastMaintenance;
                }
            }
        }
Example #19
0
 public Maintenance(PROF_IT.Common.Enumerations.TypeForm typeForm, MaterialObject material, MaintenanceObject maintenance)
 {
     try
     {
         InitializeComponent();
         _material    = material;
         _maintenance = maintenance;
         _typeForm    = typeForm;
         if (_typeForm == PROF_IT.Common.Enumerations.TypeForm.NewForm)
         {
             throw new NotImplementedException();
         }
         else
         {
             InitializePropertyForm();
         }
     }
     catch (System.Exception exception1)
     {
         System.Exception innerException = exception1;
         throw new System.Exception(MethodBase.GetCurrentMethod().Name, innerException);
     }
 }
Example #20
0
        public override void Merge(MaintenanceObject entity, IRepository repository)
        {
            entity.TechIndex = TechIndex;
            entity.Plant     = repository.Get <Plant>(PlantId.Value);
            entity.Site      = Site;
            entity.Group     = repository.Get <ObjectGroup>(GroupId);
            SetSpecifications(entity, repository);

            //Если введена дата ввода в эксплуатацию, то вводим в эксплуатацию
            if (entity.CurrentOperatingState == OperatingState.Mounted && StartOperating != null)
            {
                var period = Period == null ? new Period(DateTime.Now) : new Period(Period.Value);
                entity.PutIntoOperating(StartOperating.Value, period);
            }

            //Если родитель был
            if (entity.Parent != null)
            {
                //Если родитель получен
                if (ParentId != null)
                {
                    //Если полученный родитель не равен тому, который был
                    if (ParentId != entity.Parent.Id)
                    {
                        var newParent = repository.Get <MaintenanceObject>(ParentId.Value);
                        entity.ClearParent();
                        newParent.AddChild(entity);
                        repository.Save(newParent);
                    }
                }
                //Если родитель был, но его убрали
                else
                {
                    entity.ClearParent();
                }
            }
            //Если родителя небыло
            else
            {
                //Если родитель был установлен
                if (ParentId != null)
                {
                    var parent = repository.Get <MaintenanceObject>(ParentId.Value);
                    parent.AddChild(entity);

                    repository.Save(parent);
                }
            }

            var dtoMap = LastMaintenance.ToDictionary(x => x.MaintenanceTypeId);

            entity.LastMaintenance.ToList().ForEach(last =>
            {
                if (dtoMap.ContainsKey(last.MaintenanceType.Id))
                {
                    var _dto = dtoMap[last.MaintenanceType.Id];
                    last.LastMaintenanceDate      = _dto.LastMaintenanceDate;
                    last.UsageFromLastMaintenance = _dto.UsageFromLastMaintenance;
                }
            });

            entity.SetNextMaintenance();
        }
Example #21
0
 public ObjectDto(MaintenanceObject obj)
 {
     SetEntity(obj);
 }