Exemplo n.º 1
0
        public JsonResult Delete([Bind(Include = "Id")] WorkOrderDetailVM toBeRemoved)
        {
            if (toBeRemoved.Id == 0)
            {
                return(Json(new { success = false, ErrorMessage = "Id cannot be zero." }));
            }

            try
            {
                _workorderService.Remove(toBeRemoved);
                return(Json(new { success = true }));
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains("WorkOrder not found."))
                {
                    ModelState.AddModelError(string.Empty, "The delete failed because the workorder was not found.");
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "The delete failed.");
                }

                return(JsonErrorResult());
            }
        }
Exemplo n.º 2
0
        public LaborVM(WorkOrderDetailVM workOrderDetailVM, MaximoLabTrans labTrans = null)
        {
            WorkOrderDetailVM = workOrderDetailVM;
            CancelCommand     = new Command.CancelCommand <LaborVM>(this);
            SaveCommand       = new Command.SaveCommand <LaborVM>(this);
            LabTrans          = labTrans;


            List <string> craftrate;

            if (((App)Application.Current).AppType == "PM")
            {
                craftrate = new string[] { "SSWR", "SSLR", "SSWL" }.ToList();
            }
            else
            {
                craftrate = new string[] { "SSWR", "SSLR", "SSWL", "SCRW", "CNRW" }.ToList();
            }

            var labors = MaximoServiceLibrary.AppContext.laborRepository.findAll().Where(labor => labor.laborcraftrate.Where(laborcraftrate => craftrate.Contains(laborcraftrate.craft)).Count() > 0);

            LaborList = new List <MaximoPerson>();
            foreach (var labor in labors)
            {
                LaborList.AddRange(labor.person.Where(per => per.status == "ACTIVE").ToList());
            }

            if (LabTrans != null)
            {
                StartDate   = LabTrans.startdateentered + LabTrans.starttimeentered.TimeOfDay;
                Duration    = new DateTime(1900, 1, 1) + (LabTrans.finishdateentered + LabTrans.finishtimeentered.TimeOfDay - LabTrans.startdateentered - LabTrans.starttimeentered.TimeOfDay);
                IsDriver    = LabTrans.dcw_truckdriver;
                IsSecondMan = LabTrans.dcw_trucksecond;
                IsLeadMan   = LabTrans.dcw_trucklead;
                Labor       = LabTrans.laborcode;
                Type        = LabTrans.transtype;
            }
            else
            {
                StartDate = DateTime.Now;
                Type      = "WORK";
                Labor     = MaximoServiceLibrary.AppContext.synchronizationService.mxuser.userPreferences?.setting?.leadMan;
            }
        }
Exemplo n.º 3
0
        public void Cancel()
        {
            if (isDirty)
            {
                MessageBoxResult messageBoxResult = MessageBox.Show("Asset was modified. Save Changes?", "Asset :" + Asset.assetnum, MessageBoxButton.YesNo, MessageBoxImage.Warning);

                if (messageBoxResult == MessageBoxResult.Yes)
                {
                    Save();
                }
                else if (messageBoxResult == MessageBoxResult.No)
                {
                    WorkOrderDetailVM.HideAssetDetail();
                }
            }
            else
            {
                WorkOrderDetailVM.HideAssetDetail();
            }
        }
        public ToolVM(WorkOrderDetailVM workOrderDetailVM, MaximoToolTrans toolTrans = null)
        {
            WorkOrderDetailVM = workOrderDetailVM;
            CancelCommand     = new Command.CancelCommand <ToolVM>(this);
            SaveCommand       = new Command.SaveCommand <ToolVM>(this);
            ToolTrans         = toolTrans;

            ToolList = MaximoServiceLibrary.AppContext.inventoryRepository.findAll().ToList();
            if (ToolTrans != null)
            {
                Quantity = ToolTrans.toolqty.ToString();
                Duration = new DateTime(1900, 1, 1).AddHours(ToolTrans.toolhrs);
                Tool     = ToolTrans.itemnum;
            }
            else
            {
                Quantity = "1";
                Tool     = MaximoServiceLibrary.AppContext.synchronizationService.mxuser?.userPreferences?.setting?.vehiclenum;
            }
        }
Exemplo n.º 5
0
        public AssetDetailVM(WorkOrderDetailVM _workOrderDetailVM)
        {
            PropertyChanged  += AssetDetailVM_PropertyChanged;
            WorkOrderDetailVM = _workOrderDetailVM;


            TypeList                   = MaximoServiceLibrary.AppContext.domainRepository.findOne("CB_SUBT").alndomain;
            TopMaterialList            = MaximoServiceLibrary.AppContext.domainRepository.findOne("CBTOPMATRL").alndomain;
            TopThicknessList           = MaximoServiceLibrary.AppContext.domainRepository.findOne("CBTOPTHICK").numericdomain;
            GrateTypeList              = MaximoServiceLibrary.AppContext.domainRepository.findOne("CBGRATETYPE").alndomain;
            OwnerList                  = MaximoServiceLibrary.AppContext.domainRepository.findOne("OWNER").alndomain;
            CleaningResponsibilityList = MaximoServiceLibrary.AppContext.domainRepository.findOne("CLNRESP").alndomain;

            FlowRestrictorTypeList = new List <StaticDomain>();
            FlowRestrictorTypeList.Add(new StaticDomain("ORIFICE", "Orifice"));
            FlowRestrictorTypeList.Add(new StaticDomain("BAFFLE", "Baffle"));
            FlowRestrictorTypeList.Add(new StaticDomain("WEIR", "Weir"));
            FlowRestrictorTypeList.Add(new StaticDomain("OTHER", "Other"));

            SaveCommand   = new Command.SaveCommand <AssetDetailVM>(this);
            CancelCommand = new Command.CancelCommand <AssetDetailVM>(this);
        }
Exemplo n.º 6
0
 public ActionResult Add([Bind(Include = "Code,Description,UnitsOfMeasure,QtyOnHand")] WorkOrderDetailVM workorderVM)
 {
     if (ModelState.IsValid)
     {
         try
         {
             _workorderService.Add(workorderVM);
             return(Json(new { success = true, model = workorderVM }));
         }
         catch (Exception ex)
         {
             if (ex.Message.Contains("IX_Code"))
             {
                 ModelState.AddModelError("Code", "This WorkOrder Number already exists. Duplicate WorkOrder Numbers are not allowed.");
             }
             else
             {
                 ModelState.AddModelError(string.Empty, "The save failed.");
             }
         }
     }
     return(JsonErrorResult());
 }
Exemplo n.º 7
0
        //public JsonResult Update([Bind(Include = "Id,Code,Description,UnitsOfMeasure,QtyOnHand")]WorkOrderVM revised)
        public JsonResult Update(WorkOrderDetailVM revised)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var updated = _workorderService.Update(revised);
                    return(Json(new { success = true, model = updated }));
                }
                catch (Exception ex)
                {
                    if (ex.Message.Contains("IX_Code"))
                    {
                        ModelState.AddModelError("Code", "This WorkOrder Number already exists. Duplicate WorkOrder Numbers are not allowed.");
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, "The save failed.");
                    }
                }
            }

            return(JsonErrorResult());
        }
Exemplo n.º 8
0
        public async void Save()
        {
            Asset.eq3 = LocationDetail;

            for (int i = 0; i < Asset.assetspec.Count; i++)
            {
                switch (Asset.assetspec[i].assetattrid)
                {
                case "CB_SUBT":
                    if (Asset.assetspec[i].alnvalue != Type)
                    {
                        Asset.assetspec[i].syncronizationStatus = LocalDBLibrary.model.SyncronizationStatus.MODIFIED;
                    }
                    Asset.assetspec[i].alnvalue = Type;
                    break;

                case "TOPMATRL":
                    if (Asset.assetspec[i].alnvalue != TopMaterial)
                    {
                        Asset.assetspec[i].syncronizationStatus = LocalDBLibrary.model.SyncronizationStatus.MODIFIED;
                    }
                    Asset.assetspec[i].alnvalue = TopMaterial;
                    break;

                case "TOPTHICK":
                    if (Asset.assetspec[i].numvalue != TopThickness)
                    {
                        Asset.assetspec[i].syncronizationStatus = LocalDBLibrary.model.SyncronizationStatus.MODIFIED;
                    }
                    Asset.assetspec[i].numvalue = TopThickness;
                    break;

                case "GRATETY":
                    if (Asset.assetspec[i].alnvalue != GrateType)
                    {
                        Asset.assetspec[i].syncronizationStatus = LocalDBLibrary.model.SyncronizationStatus.MODIFIED;
                    }
                    Asset.assetspec[i].alnvalue = GrateType;
                    break;

                case "NUMCHAMB":
                    if (Asset.assetspec[i].numvalue != NumberOfChambers)
                    {
                        Asset.assetspec[i].syncronizationStatus = LocalDBLibrary.model.SyncronizationStatus.MODIFIED;
                    }
                    Asset.assetspec[i].numvalue = NumberOfChambers;
                    break;

                case "NUMTHROAT":
                    if (Asset.assetspec[i].numvalue != NumberOfThroats)
                    {
                        Asset.assetspec[i].syncronizationStatus = LocalDBLibrary.model.SyncronizationStatus.MODIFIED;
                    }
                    Asset.assetspec[i].numvalue = NumberOfThroats;
                    break;

                case "OWNER":
                    if (Asset.assetspec[i].alnvalue != Owner)
                    {
                        Asset.assetspec[i].syncronizationStatus = LocalDBLibrary.model.SyncronizationStatus.MODIFIED;
                    }
                    Asset.assetspec[i].alnvalue = Owner;
                    break;

                case "CLN_RESP":
                    if (Asset.assetspec[i].alnvalue != CleaningResponsibility)
                    {
                        Asset.assetspec[i].syncronizationStatus = LocalDBLibrary.model.SyncronizationStatus.MODIFIED;
                    }
                    Asset.assetspec[i].alnvalue = CleaningResponsibility;
                    break;

                case "WQ":
                    if (Asset.assetspec[i].alnvalue != (WaterQuality == true ? "Y" : "N"))
                    {
                        Asset.assetspec[i].syncronizationStatus = LocalDBLibrary.model.SyncronizationStatus.MODIFIED;
                    }
                    Asset.assetspec[i].alnvalue = WaterQuality == true ? "Y" : "N";
                    break;

                case "INMS4":
                    if (Asset.assetspec[i].alnvalue != (InMS4 == true ? "Y" : "N"))
                    {
                        Asset.assetspec[i].syncronizationStatus = LocalDBLibrary.model.SyncronizationStatus.MODIFIED;
                    }
                    Asset.assetspec[i].alnvalue = InMS4 == true ? "Y" : "N";
                    break;

                case "ISCORNRCB":
                    if (Asset.assetspec[i].alnvalue != (CornerCB == true ? "Y" : "N"))
                    {
                        Asset.assetspec[i].syncronizationStatus = LocalDBLibrary.model.SyncronizationStatus.MODIFIED;
                    }
                    Asset.assetspec[i].alnvalue = CornerCB == true ? "Y" : "N";
                    break;

                case "BIOFLTR":
                    if (Asset.assetspec[i].alnvalue != (Biofilter == true ? "Y" : "N"))
                    {
                        Asset.assetspec[i].syncronizationStatus = LocalDBLibrary.model.SyncronizationStatus.MODIFIED;
                    }
                    Asset.assetspec[i].alnvalue = Biofilter == true ? "Y" : "N";
                    break;

                case "FLORESTY":
                    if (Asset.assetspec[i].alnvalue != FlowRestrictorType)
                    {
                        Asset.assetspec[i].syncronizationStatus = LocalDBLibrary.model.SyncronizationStatus.MODIFIED;
                    }
                    Asset.assetspec[i].alnvalue = FlowRestrictorType;
                    break;

                case "HASSUMP":
                    if (Asset.assetspec[i].alnvalue != (Sump == true ? "Y" : "N"))
                    {
                        Asset.assetspec[i].syncronizationStatus = LocalDBLibrary.model.SyncronizationStatus.MODIFIED;
                    }
                    Asset.assetspec[i].alnvalue = Sump == true ? "Y" : "N";
                    break;

                case "HASWATERSEAL":
                    if (Asset.assetspec[i].alnvalue != (WaterSeal == true ? "Y" : "N"))
                    {
                        Asset.assetspec[i].syncronizationStatus = LocalDBLibrary.model.SyncronizationStatus.MODIFIED;
                    }
                    Asset.assetspec[i].alnvalue = WaterSeal == true ? "Y" : "N";
                    break;
                }
            }

            Asset.changedate = DateTime.Now;
            Asset.changeby   = MaximoServiceLibrary.AppContext.synchronizationService?.mxuser.personId;
            // asset maybe choosed or created on map!

            if (!String.IsNullOrEmpty(Asset.assetnum))
            {
                Asset.syncronizationStatus = LocalDBLibrary.model.SyncronizationStatus.MODIFIED;
            }
            else
            {
                Asset.syncronizationStatus = LocalDBLibrary.model.SyncronizationStatus.CREATED;
            }
            WorkOrder.asset = Asset;

            if (Asset.assettag.First() == 'N' && WorkOrder.asset.syncronizationStatus == LocalDBLibrary.model.SyncronizationStatus.CREATED)
            {
                var             layer           = workOrderDetailVM.MapVM.assetLayer;
                QueryParameters queryParameters = new QueryParameters();
                queryParameters.WhereClause = $"ASSETTAG = '{Asset.assettag}'";

                var result = await layer.FeatureTable.QueryFeaturesAsync(queryParameters);

                var feature = result.FirstOrDefault();
                if (feature != null)
                {
                    switch (Type)
                    {
                    case "UNKNOWN":
                        feature.SetAttributeValue("SUBTYPE", 0);
                        break;

                    case "SINGLE":

                        feature.SetAttributeValue("SUBTYPE", 1);
                        break;

                    case "DOUBLE":

                        feature.SetAttributeValue("SUBTYPE", 2);
                        break;

                    case "TRIPLE":

                        feature.SetAttributeValue("SUBTYPE", 3);
                        break;

                    case "GRATE":

                        feature.SetAttributeValue("SUBTYPE", 4);
                        break;

                    case "QUADRUPLE":

                        feature.SetAttributeValue("SUBTYPE", 5);
                        break;

                    case "ELONGATE":

                        feature.SetAttributeValue("SUBTYPE", 6);
                        break;

                    case "DOUBLE GRATE":

                        feature.SetAttributeValue("SUBTYPE", 7);
                        break;

                    case "FIELD DRAIN":

                        feature.SetAttributeValue("SUBTYPE", 8);
                        break;

                    case "TRENCH DRAIN":

                        feature.SetAttributeValue("SUBTYPE", 9);
                        break;

                    default:
                        feature.SetAttributeValue("SUBTYPE", 0);
                        break;
                    }
                    feature.SetAttributeValue("ASSETTAG", Asset.assettag);

                    feature.SetAttributeValue("TOPMATRL", TopMaterial);
                    feature.SetAttributeValue("TOPTHICK", (int)TopThickness);
                    feature.SetAttributeValue("GRATETY", GrateType);
                    feature.SetAttributeValue("NUMCHAMB", (int?)NumberOfChambers);
                    feature.SetAttributeValue("NUMTHROAT", (int?)NumberOfThroats);
                    feature.SetAttributeValue("LOCATIONDETAIL", LocationDetail);
                    feature.SetAttributeValue("OWNER", Owner);
                    feature.SetAttributeValue("CLNRESP", CleaningResponsibility);
                    feature.SetAttributeValue("ISWQI", (WaterQuality == true ? "Y" : "N"));
                    feature.SetAttributeValue("INMS4", (InMS4 == true ? "Y" : "N"));
                    feature.SetAttributeValue("ISCORNRCB", (CornerCB == true ? "Y" : "N"));
                    feature.SetAttributeValue("BIOFLTR", (Biofilter == true ? "Y" : "N"));
                    feature.SetAttributeValue("FLORESTY", FlowRestrictorType);
                    feature.SetAttributeValue("HASSUMP", (Sump == true ? "Y" : "N"));
                    feature.SetAttributeValue("HASWATERSEAL", (WaterSeal == true ? "Y" : "N"));
                    await layer.FeatureTable.UpdateFeatureAsync(feature);

                    feature.Refresh();
                }
                else
                {
                    await addModified(Asset);
                }
            }
            else
            {
                await addModified(Asset);
            }

            workOrderDetailVM.MaximoWorkOrder.asset = Asset;
            if (WorkOrder.Id > 0)
            {
                MaximoServiceLibrary.AppContext.workOrderRepository.update(WorkOrder);
            }
            isDirty = false;
            WorkOrderDetailVM.HideAssetDetail();
        }
Exemplo n.º 9
0
 public ShowToolCommand(WorkOrderDetailVM workOrderDetailVM)
 {
     WorkOrderDetailVM = workOrderDetailVM;
 }
 public DeleteAttachmentCommand(WorkOrderDetailVM workOrderDetailVM)
 {
     WorkOrderDetailVM = workOrderDetailVM;
 }
Exemplo n.º 11
0
 public LaborCommand(WorkOrderDetailVM workOrderDetailVM)
 {
     WorkOrderDetailVM = workOrderDetailVM;
 }
 public AttachCommand(WorkOrderDetailVM workOrderDetailVM)
 {
     WorkOrderDetailVM = workOrderDetailVM;
 }
Exemplo n.º 13
0
 public SelectAssetOnMapCommand(WorkOrderDetailVM workOrderDetailVM)
 {
     WorkOrderDetailVM = workOrderDetailVM;
 }
 public CreateAssetOnMapCommand(WorkOrderDetailVM workOrderDetailVM)
 {
     WorkOrderDetailVM = workOrderDetailVM;
 }
 public DeleteToolCommand(WorkOrderDetailVM workOrderDetailVM)
 {
     WorkOrderDetailVM = workOrderDetailVM;
 }
 public ShowAssetCommand(WorkOrderDetailVM workOrderDetailVM)
 {
     WorkOrderDetailVM = workOrderDetailVM;
 }
Exemplo n.º 17
0
 public ShowAttachmentCommand(WorkOrderDetailVM workOrderDetailVM)
 {
     WorkOrderDetailVM = workOrderDetailVM;
 }
 public CompleteCommand(WorkOrderDetailVM workOrderDetailVM)
 {
     WorkOrderDetailVM = workOrderDetailVM;
 }