コード例 #1
0
        /// <summary>
        /// convert contingType model to domain
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public CoatingType ConvertToDomain(CoatingTypeViewModel model)
        {
            CoatingType coatingType = new CoatingType();

            coatingType.CoatingTypeId = model.CoatingTypeId;
            coatingType.Description   = model.CoatingTypeDescription;
            coatingType.IsActive      = model.IsActive;

            return(coatingType);
        }
コード例 #2
0
        //
        // GET: /CoatingType/Details/5

        public ActionResult Details(int id = 0)
        {
            CoatingType coatingtype = db.CoatingTypes.Find(id);

            if (coatingtype == null)
            {
                return(HttpNotFound());
            }
            return(View(coatingtype));
        }
コード例 #3
0
        /// <summary>
        /// convert coatingType to view model
        /// </summary>
        /// <param name="coatingType"></param>
        /// <returns></returns>
        public CoatingTypeViewModel ConvertToView(CoatingType coatingType)
        {
            CoatingTypeViewModel model = new CoatingTypeViewModel();

            model.CoatingTypeId          = coatingType.CoatingTypeId;
            model.CoatingTypeDescription = (!string.IsNullOrEmpty(coatingType.Description)) ? coatingType.Description : "N/A";
            model.IsActive = coatingType.IsActive;

            return(model);
        }
コード例 #4
0
        public ActionResult DeleteConfirmed(int id)
        {
            CoatingType coatingtype = db.CoatingTypes.Find(id);

            db.CoatingTypes.Remove(coatingtype);
            db.SaveChanges();
            if (Insert_CodeLookUp_Audit("Coating Type", "Delete", coatingtype.CoatingTypeItem, ""))
            {
                //nothing to do at this point.
            }
            return(RedirectToAction("Index"));
        }
コード例 #5
0
 public ActionResult Edit(CoatingType coatingtype)
 {
     if (ModelState.IsValid)
     {
         db.Entry(coatingtype).State = EntityState.Modified;
         db.SaveChanges();
         if (Insert_CodeLookUp_Audit("Coating Type", "Edit", Session["CodeLookUpAduit_Oldvalue"].ToString(), coatingtype.CoatingTypeItem))
         {
             //nothing to do at this point.
         }
         return(RedirectToAction("Index"));
     }
     return(View(coatingtype));
 }
コード例 #6
0
        /// <summary>
        /// get coating type by nullable id
        /// </summary>
        /// <param name="coatingTypeId"></param>
        /// <returns></returns>
        public CoatingType GetCoatingType(Guid?coatingTypeId)
        {
            var coatingType = new CoatingType();

            try
            {
                coatingType = _db.CoatingType.FirstOrDefault(x => x.CoatingTypeId == coatingTypeId);
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("Error getting coating type: {0} ", ex.ToString());
            }

            return(coatingType);
        }
コード例 #7
0
        /// <summary>
        /// get coating type by description
        /// </summary>
        /// <param name="description"></param>
        /// <returns></returns>
        public CoatingType GetCoatingType(string description)
        {
            var coatingType = new CoatingType();

            try
            {
                coatingType = _db.CoatingType.FirstOrDefault(x => x.Description.Replace(" ", string.Empty).ToLower() == description.Replace(" ", string.Empty).ToLower());
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("Error getting coating type: {0} ", ex.ToString());
            }

            return(coatingType);
        }
コード例 #8
0
        public ActionResult Create(CoatingType coatingtype)
        {
            if (ModelState.IsValid)
            {
                db.CoatingTypes.Add(coatingtype);
                db.SaveChanges();

                if (Insert_CodeLookUp_Audit("Coating Type", "Create", "", coatingtype.CoatingTypeItem))
                {
                    //nothing to do at this point.
                }
                return(RedirectToAction("Index"));
            }

            return(View(coatingtype));
        }
コード例 #9
0
        //
        // GET: /CoatingType/Delete/5

        public ActionResult Delete(int id = 0)
        {
            CoatingType coatingtype      = db.CoatingTypes.Find(id);
            var         coatingfeatiures = (from vf in db.ValveSectionFeatures
                                            where vf.CoatingTypeID == coatingtype.CoatingTypeID
                                            select new
            {
                vf
            }).ToList();


            if (coatingfeatiures.Count > 0)
            {
                ModelState.AddModelError("CoatingTypeItem", "This Coating Type is assigned to Circuit feature(s) and cannot be deleted.");
                ViewBag.HasError = "True";
            }
            if (coatingtype == null)
            {
                return(HttpNotFound());
            }
            return(View(coatingtype));
        }
コード例 #10
0
        //
        // GET: /CoatingType/Edit/5

        public ActionResult Edit(int id = 0)
        {
            CoatingType coatingtype      = db.CoatingTypes.Find(id);
            var         coatingfeatiures = (from vf in db.ValveSectionFeatures
                                            where vf.CoatingTypeID == coatingtype.CoatingTypeID
                                            select new
            {
                vf
            }).ToList();


            if (coatingfeatiures.Count > 0)
            {
                ModelState.AddModelError("CoatingTypeItem", "Warning! This Coating Type is assigned to Circuit feature(s).");
                ViewBag.HasError = "True";
            }
            if (coatingtype == null)
            {
                return(HttpNotFound());
            }
            Session["CodeLookUpAduit_Oldvalue"] = coatingtype.CoatingTypeItem;
            return(View(coatingtype));
        }
コード例 #11
0
        /// <summary>
        /// update coating type
        /// </summary>
        /// <param name="coatingType"></param>
        /// <returns></returns>
        public OperationResult UpdateCoatingType(CoatingType coatingType)
        {
            var operationResult = new OperationResult();

            var existingCoatingType = GetCoatingType(coatingType.CoatingTypeId);

            if (existingCoatingType != null)
            {
                logger.Debug("CoatingType is being updated.");

                try
                {
                    _db.CoatingType.Attach(existingCoatingType);

                    _db.Entry(existingCoatingType).CurrentValues.SetValues(coatingType);

                    _db.SaveChanges();

                    operationResult.Success = true;
                    operationResult.Message = "Success";
                }
                catch (Exception ex)
                {
                    operationResult.Success = false;
                    operationResult.Message = "Error";
                    logger.ErrorFormat("Error while updating coating type: { 0} ", ex.ToString());
                }
            }
            else
            {
                operationResult.Success = false;
                operationResult.Message = "Unable to find selected coating type.";
            }

            return(operationResult);
        }
コード例 #12
0
        /// <summary>
        /// save new coating type
        /// </summary>
        /// <param name="newCoatingType"></param>
        /// <returns></returns>
        public OperationResult SaveCoatingType(CoatingType newCoatingType)
        {
            var operationResult = new OperationResult();

            try
            {
                var existingCoatingType = _db.CoatingType.FirstOrDefault(x => x.Description.ToLower() == newCoatingType.Description.ToLower());

                if (existingCoatingType == null)
                {
                    logger.Debug("CoatingType is being created...");

                    newCoatingType.IsActive = true;

                    _db.CoatingType.Add(newCoatingType);

                    _db.SaveChanges();

                    operationResult.Success = true;
                    operationResult.Message = "Success";
                }
                else
                {
                    operationResult.Success = false;
                    operationResult.Message = "Duplicate Entry";
                }
            }
            catch (Exception ex)
            {
                operationResult.Success = false;
                operationResult.Message = "Error";
                logger.ErrorFormat("Error saving new coating type: {0} ", ex.ToString());
            }

            return(operationResult);
        }
コード例 #13
0
        public JsonResult Edit(RfqViewModel model)
        {
            var operationResult     = new OperationResult();
            var existingCoatingType = _coatingTypeRepository.GetCoatingType(model.CoatingType);

            if (existingCoatingType == null)
            {
                var newCoatingType = new CoatingType();
                {
                    newCoatingType.Description = model.CoatingType;
                    newCoatingType.IsActive    = true;
                }
                operationResult     = _coatingTypeRepository.SaveCoatingType(newCoatingType);
                existingCoatingType = _coatingTypeRepository.GetCoatingType(model.CoatingType);
            }

            var existingSpecificationMaterial = _specificationMaterialRepository.GetSpecificationMaterial(model.SpecificationMaterialDescription.ToLower().Replace(" ", string.Empty));

            if (existingSpecificationMaterial == null)
            {
                var newSpecificationMaterial = new SpecificationMaterial();
                {
                    newSpecificationMaterial.Description = model.SpecificationMaterialDescription;
                    newSpecificationMaterial.IsActive    = true;
                }
                operationResult = _specificationMaterialRepository.SaveSpecificationMaterial(newSpecificationMaterial);
                existingSpecificationMaterial = _specificationMaterialRepository.GetSpecificationMaterial(model.SpecificationMaterialDescription);
            }

            var rfqToUpdate = _rfqRepository.GetRfq(model.RfqId);

            rfqToUpdate = new RfqConverter().ConvertToDomain(model);

            var projectToUpdate = _projectRepository.GetProject(model.ProjectId);

            if (model.Status != null)
            {
                if (model.IsOpen)
                {
                    projectToUpdate.IsOpen = true;
                }
                else
                {
                    projectToUpdate.IsOpen = false;
                }

                if (model.IsHold)
                {
                    projectToUpdate.IsHold             = true;
                    projectToUpdate.HoldExpirationDate = model.HoldExpirationDate;
                    projectToUpdate.HoldNotes          = model.HoldNotes;
                }
                else
                {
                    projectToUpdate.IsHold             = false;
                    projectToUpdate.HoldExpirationDate = null;
                    projectToUpdate.HoldNotes          = null;
                }

                if (model.IsCanceled)
                {
                    projectToUpdate.IsCanceled  = true;
                    projectToUpdate.CancelNotes = model.CancelNotes;
                }
                else
                {
                    projectToUpdate.IsCanceled  = false;
                    projectToUpdate.CancelNotes = null;
                }
            }

            operationResult = _rfqRepository.UpdateRfq(rfqToUpdate);

            if (operationResult.Success)
            {
                model.Success    = true;
                model.IsHold     = rfqToUpdate.IsHold;
                model.IsCanceled = rfqToUpdate.IsCanceled;

                operationResult = _projectRepository.UpdateProject(projectToUpdate);

                if (model.RfqParts != null && model.RfqParts.Count() > 0)
                {
                    foreach (var rfqPart in model.RfqParts)
                    {
                        if (rfqPart.ProjectPartId != Guid.Empty)
                        {
                            var partToUpdate = new ProjectPartConverter().ConvertToDomain(rfqPart);
                            partToUpdate.RfqId     = model.RfqId;
                            partToUpdate.ProjectId = model.ProjectId;
                            partToUpdate.MaterialSpecificationId = existingSpecificationMaterial.SpecificationMaterialId;
                            partToUpdate.MaterialId    = rfqPart.MaterialId;
                            partToUpdate.CoatingTypeId = existingCoatingType.CoatingTypeId;
                            operationResult            = _projectPartRepository.UpdateProjectPart(partToUpdate);
                        }
                        else
                        {
                            var newProjectPart = new ProjectPartConverter().ConvertToDomain(rfqPart);

                            newProjectPart.RfqId      = model.RfqId;
                            newProjectPart.ProjectId  = model.ProjectId;
                            newProjectPart.MaterialId = rfqPart.MaterialId;
                            newProjectPart.MaterialSpecificationId = existingSpecificationMaterial.SpecificationMaterialId;
                            newProjectPart.CoatingTypeId           = existingCoatingType.CoatingTypeId;

                            operationResult = _projectPartRepository.SaveProjectPart(newProjectPart);
                        }
                    }
                }

                var existingProjectParts = _projectPartRepository.GetProjectParts().Where(x => x.ProjectId == model.ProjectId).ToList();

                if (existingProjectParts != null && existingProjectParts.Count > 0)
                {
                    foreach (var existingProjectPart in existingProjectParts)
                    {
                        var projectPart = model.RfqParts.FirstOrDefault(x => x.PartNumber == existingProjectPart.Number);

                        if (projectPart == null)
                        {
                            operationResult = _projectPartRepository.DeleteProjectPart(existingProjectPart.ProjectPartId);
                        }
                    }
                }

                if (!operationResult.Success)
                {
                    model.Success = false;
                    model.Message = operationResult.Message;
                }
            }
            else
            {
                model.Success = false;
                model.Message = operationResult.Message;
            }


            return(Json(model, JsonRequestBehavior.AllowGet));
        }
コード例 #14
0
        public JsonResult Create(RfqViewModel model)
        {
            var operationResult = new OperationResult();

            var existingCoatingType = _coatingTypeRepository.GetCoatingType(model.CoatingType);

            if (existingCoatingType == null)
            {
                var newCoatingType = new CoatingType();
                {
                    newCoatingType.Description = model.CoatingType;
                    newCoatingType.IsActive    = true;
                }
                operationResult     = _coatingTypeRepository.SaveCoatingType(newCoatingType);
                existingCoatingType = _coatingTypeRepository.GetCoatingType(model.CoatingType);
            }

            var existingSpecificationMaterial = _specificationMaterialRepository.GetSpecificationMaterial(model.SpecificationMaterialDescription);

            if (existingSpecificationMaterial == null)
            {
                var newSpecificationMaterial = new SpecificationMaterial();
                {
                    newSpecificationMaterial.Description = model.SpecificationMaterialDescription;
                    newSpecificationMaterial.IsActive    = true;
                }
                operationResult = _specificationMaterialRepository.SaveSpecificationMaterial(newSpecificationMaterial);
                existingSpecificationMaterial = _specificationMaterialRepository.GetSpecificationMaterial(model.SpecificationMaterialDescription);
            }

            var project = _projectRepository.GetProject(model.ProjectName);

            if (project == null)
            {
                var newProject = new ProjectConverter().ConvertToCreate(model);

                operationResult = _projectRepository.SaveProject(newProject);

                model.ProjectId = operationResult.ReferenceId;
            }
            else
            {
                model.ProjectId = project.ProjectId;
            }

            var newRfq = new RfqConverter().ConvertToDomain(model);

            newRfq.ProjectId = model.ProjectId;

            operationResult = _rfqRepository.SaveRfq(newRfq);

            newRfq.RfqId = operationResult.ReferenceId;

            if (operationResult.Success && model != null)
            {
                foreach (var rfqPart in model.RfqParts)
                {
                    var newProjectPart = new ProjectPartConverter().ConvertToDomain(rfqPart);

                    newProjectPart.RfqId      = operationResult.ReferenceId;
                    newProjectPart.ProjectId  = model.ProjectId;
                    newProjectPart.MaterialId = rfqPart.MaterialId;
                    newProjectPart.MaterialSpecificationId = existingSpecificationMaterial.SpecificationMaterialId;
                    newProjectPart.CoatingTypeId           = existingCoatingType.CoatingTypeId;

                    operationResult = _projectPartRepository.SaveProjectPart(newProjectPart);
                }
            }

            operationResult.ReferenceId = newRfq.RfqId;

            return(Json(operationResult, JsonRequestBehavior.AllowGet));
        }