public InsulationTypeDTO Update(InsulationTypeDTO obj)
        {
            using (var transaction = _context.Database.BeginTransaction())
            {
                try
                {
                    InsulationType tempObj = (from r in _unitOfWork.InsulationType.GenerateEntityAsIQueryable()
                                              where r.Name == obj.Name && r.ID != obj.ID
                                              select r).FirstOrDefault();

                    if (tempObj == null)
                    {
                        var response = _unitOfWork.InsulationType.FindById(obj.ID);
                        if (response != null)
                        {
                            response.Name             = obj.Name;
                            response.AdjustmentFactor = obj.AdjustmentFactor;
                            response.Active           = obj.Active;
                            response.CreatedBy        = obj.CreatedBy;
                            response.CreatedDate      = obj.CreatedDate;
                            response.ModifiedBy       = obj.ModifiedBy;
                            response.ModifiedDate     = DateTime.Now;
                        }
                        _unitOfWork.InsulationType.Update(response);
                        _unitOfWork.SaveChanges();
                        transaction.Commit();
                        return(new InsulationTypeDTO
                        {
                            ID = obj.ID,
                            Status = true,
                            StatusMessage = "Successfully updated",
                            StatusCode = 200
                        });
                    }
                    else
                    {
                        return(new InsulationTypeDTO
                        {
                            ID = tempObj.ID,
                            Status = false,
                            StatusMessage = "Error - Duplicate Insulation Type.",
                            StatusCode = 200
                        });
                    }
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(new InsulationTypeDTO()
                    {
                        ID = 0,
                        Status = false,
                        StatusMessage = ex.Message,
                        StatusCode = 200
                    });
                }
            }
        }
        public InsulationTypeDTO Create(InsulationTypeDTO obj)
        {
            using (var transaction = _context.Database.BeginTransaction())
            {
                try
                {
                    InsulationType tempObj = (from i in _unitOfWork.InsulationType.GenerateEntityAsIQueryable()
                                              where i.Name == obj.Name
                                              select i).FirstOrDefault();

                    if (tempObj == null)
                    {
                        var insulationType = new InsulationType()
                        {
                            Name             = obj.Name,
                            AdjustmentFactor = obj.AdjustmentFactor,
                            Active           = true,
                            CreatedBy        = obj.CreatedBy,
                            CreatedDate      = DateTime.Now
                        };

                        _unitOfWork.InsulationType.Create(insulationType);
                        _unitOfWork.SaveChanges();
                        transaction.Commit();
                        return(new InsulationTypeDTO
                        {
                            ID = insulationType.ID,
                            Status = true,
                            StatusMessage = "Successfully created",
                            StatusCode = 200
                        });
                    }
                    else
                    {
                        return(new InsulationTypeDTO
                        {
                            ID = tempObj.ID,
                            Status = false,
                            StatusMessage = "Error - Duplicate Insulation Type - " + tempObj.Name,
                            StatusCode = 200
                        });
                    }
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(new InsulationTypeDTO()
                    {
                        ID = 0,
                        Status = false,
                        StatusMessage = ex.Message,
                        StatusCode = 200
                    });
                }
            }
        }
Ejemplo n.º 3
0
        private void Stream( ArrayList data, InsulationType insType )
        {
            data.Add( new Snoop.Data.ClassSeparator( typeof( InsulationType ) ) );

              data.Add( new Snoop.Data.Bool( "Is in use", insType.IsInUse ) );
        }