/// <summary>
        /// Edit division details.
        /// </summary>
        /// <param name="Id">Division Id</param>
        /// <returns> Divisiondetails</returns>
        public ActionResult DivisionEdit(int id)
        {
            MODEL.Division division = null;
            try
            {
                DivisionService divisionService = new DivisionService();

                //Get division details
                DivisionVO divisionVO = divisionService.GetDivisionById(id);
                if (divisionVO == null)
                {
                    ModelState.AddModelError("", String.Format(Constants.ITEM_NOT_FOUND, Constants.DIVISION));
                }
                else
                {
                    division = new Division(divisionVO);
                    division.defaultInvoiceInAdvancedList = GetInvoiceInAdvancedList();
                }
            }
            catch (Exception e)
            {
                ModelState.AddModelError("", e.Message);
            }
            return(PartialView("DivisionDetails", division));
        }
        /// <summary>
        /// Save the division
        /// </summary>
        /// <param name="division">Value Object division</param>
        public void SaveDivision(DivisionVO division)
        {
            if (!string.IsNullOrEmpty(division.DivisionName))
            {
                if (division.IsActive == true)
                {
                    IsDivisionActivatedInCompany(division);
                }

                if (!division.IsActive)
                {
                    IsDivisionAssociatedWithContract(division);
                }

                DivisionVO divisionExist = divisionDAL.GetDivisionByName(division.DivisionName, division.CompanyId);
                //Check whether division already exist or not
                if (divisionExist != null && division.DivisionId != divisionExist.DivisionId)
                {
                    throw new ApplicationException(Constants.DIVISION_ALREADY_EXIST);
                }
                else
                {
                    divisionDAL.SaveDivision(division);
                }
            }
        }
        /// <summary>
        /// Check whether division is associated with contract
        /// </summary>
        /// <param name="division">division value object</param>
        /// <returns></returns>
        private void IsDivisionAssociatedWithContract(DivisionVO division)
        {
            int count = divisionDAL.IsDivisionAssociatedWithContract(division);

            if (count > 0)
            {
                throw new ApplicationException(Constants.DIVISION_CANNOT_BE_INACTIVE);
            }
        }
        /// <summary>
        /// Check whether division is associated with company
        /// </summary>
        /// <param name="divisionVO">division Value object</param>
        private void IsDivisionActivatedInCompany(DivisionVO divisionVO)
        {
            DivisionVO division = divisionDAL.IsDivisionActivatedInCompany(divisionVO);

            if (division != null)
            {
                throw new ApplicationException(String.Format(Constants.DIVISION_ALREADY_ACTIVE_IN_COMPANY, division.DivisionName, division.CompanyName));
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Gets division by name
        /// </summary>
        /// <param name="divisionName"> division name</param>
        /// <returns></returns>
        public DivisionVO GetDivisionByName(string divisionName, int companyId)
        {
            Division division = mdbDataContext.Divisions
                                .Where(div => div.DivisionName.Equals(divisionName) && div.CompanyID == companyId).SingleOrDefault();

            DivisionVO selectedDivision = null;

            if (division != null)
            {
                selectedDivision = new DivisionVO(division);
            }
            return(selectedDivision);
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Transpose division value object to model object
 /// </summary>
 public Division(DivisionVO divisionVO)
 {
     ID             = divisionVO.DivisionId;
     CompanyId      = divisionVO.CompanyId;
     DivisionId     = divisionVO.DivisionId;
     DivisionName   = divisionVO.DivisionName;
     IsActive       = divisionVO.IsActive;
     DocumentTypeCR = divisionVO.DocumentTypeCR;
     DocumentTypeIN = divisionVO.DocumentTypeIN;
     DocumentTypeDepositInvoices = divisionVO.DocumentTypeDepositInvoices;
     DocumentTypeDepositCredits  = divisionVO.DocumentTypeDepositCredits;
     DefaultInvoiceInAdvance     = divisionVO.DefaultInvoiceInAdvance;
     CompanyName = divisionVO.CompanyName;
 }
Ejemplo n.º 7
0
        /// <summary>
        /// Check whether division is associated with company
        /// </summary>
        /// <param name="divisionVO">division Value Object</param>
        /// <returns></returns>
        public DivisionVO IsDivisionActivatedInCompany(DivisionVO divisionVO)
        {
            Division division = mdbDataContext.Divisions.Where(div => div.DivisionName.Equals(divisionVO.DivisionName) && (div.IsActive == true) && div.CompanyID != divisionVO.CompanyId).SingleOrDefault();

            DivisionVO selectedDivision = null;

            if (division != null)
            {
                selectedDivision = new DivisionVO(division);

                //set the company name
                OACompany company = mdbDataContext.OACompanies.SingleOrDefault(oac => oac.ID == selectedDivision.CompanyId);
                selectedDivision.CompanyName = company.CompanyName;
            }
            return(selectedDivision);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Gets Divisiondetails by DivisionId
        /// </summary>
        /// <param name="DivisionId">Division Id</param>
        /// <returns>Division details</returns>
        public DivisionVO GetDivisionById(int DivisionId = 0)
        {
            Division   division   = mdbDataContext.Divisions.SingleOrDefault(c => c.ID == DivisionId);
            DivisionVO divisionVO = null;

            if (division != null)
            {
                divisionVO = new DivisionVO(division);

                //set the company name
                OACompany company = mdbDataContext.OACompanies
                                    .SingleOrDefault(oac => oac.ID == division.CompanyID);
                divisionVO.CompanyName = company.CompanyName;
            }
            return(divisionVO);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Transpose Model object to Value Object
        /// </summary>
        /// <param name="userId">user Id</param>
        /// <returns>Value object</returns>
        public DivisionVO Transpose(int?userId)
        {
            DivisionVO divisionVO = new DivisionVO();

            divisionVO.DivisionId     = this.ID;
            divisionVO.CompanyId      = this.CompanyId;
            divisionVO.DivisionName   = this.DivisionName;
            divisionVO.CompanyName    = this.CompanyName;
            divisionVO.IsActive       = this.IsActive;
            divisionVO.DocumentTypeCR = this.DocumentTypeCR;
            divisionVO.DocumentTypeIN = this.DocumentTypeIN;
            divisionVO.DocumentTypeDepositInvoices = this.DocumentTypeDepositInvoices;
            divisionVO.DocumentTypeDepositCredits  = this.DocumentTypeDepositCredits;
            divisionVO.DefaultInvoiceInAdvance     = this.DefaultInvoiceInAdvance;
            divisionVO.CreatedByUserId             = userId;
            divisionVO.LastUpdatedByUserId         = userId;

            return(divisionVO);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Save the division
        /// </summary>
        /// <param name="division">Value Object division</param>
        public void SaveDivision(DivisionVO division)
        {
            if (division.DivisionId == 0)
            {
                //Insert New Record

                Division newDivision = new Division();
                newDivision.DivisionName             = division.DivisionName;
                newDivision.CompanyID                = division.CompanyId;
                newDivision.IsActive                 = division.IsActive;
                newDivision.DocumentTypeCR           = division.DocumentTypeCR;
                newDivision.DocumentTypeIN           = division.DocumentTypeIN;
                newDivision.DepositDocumentTypeIN    = division.DocumentTypeDepositInvoices;
                newDivision.DepositDocumentTypeCR    = division.DocumentTypeDepositCredits;
                newDivision.DefaultInvoiceInAdvanced = division.DefaultInvoiceInAdvance;
                //newDivision.ID = division.DivisionId;
                newDivision.CreationDate = DateTime.Now;
                newDivision.CreatedBy    = division.CreatedByUserId;
                mdbDataContext.Divisions.InsertOnSubmit(newDivision);
                mdbDataContext.SubmitChanges();
            }
            else
            {
                //Update Existing Record
                Division selectedDivision = mdbDataContext.Divisions.SingleOrDefault(c => c.ID == division.DivisionId);
                selectedDivision.DivisionName             = division.DivisionName;
                selectedDivision.CompanyID                = division.CompanyId;
                selectedDivision.IsActive                 = division.IsActive;
                selectedDivision.DocumentTypeCR           = division.DocumentTypeCR;
                selectedDivision.DocumentTypeIN           = division.DocumentTypeIN;
                selectedDivision.DepositDocumentTypeIN    = division.DocumentTypeDepositInvoices;
                selectedDivision.DepositDocumentTypeCR    = division.DocumentTypeDepositCredits;
                selectedDivision.DefaultInvoiceInAdvanced = division.DefaultInvoiceInAdvance;
                selectedDivision.LastUpdatedDate          = DateTime.Now;
                selectedDivision.LastUpdatedBy            = division.LastUpdatedByUserId;
                mdbDataContext.SubmitChanges();
            }
        }
        /// <summary>
        /// Save the Division details.
        /// </summary>
        /// <param name="model">The division model</param>
        /// <returns></returns>
        public ActionResult DivisionSave(MODEL.Division model)
        {
            try
            {
                DivisionService       divisionService = new DivisionService();
                List <MODEL.Division> Division        = new List <MODEL.Division>();

                if (ModelState.IsValid)
                {
                    //Get user id
                    int?userId = Session.GetUserId();

                    //DivisionVO divisionVO = new DivisionVO(model, userId.Value);

                    DivisionVO divisionVO = model.Transpose(userId);

                    divisionService.SaveDivision(divisionVO);

                    List <DivisionVO> divisionVOlist = divisionService.GetDivisionListByCompany(model.CompanyId);

                    foreach (DivisionVO division in divisionVOlist)
                    {
                        Division.Add(new MODEL.Division(division));
                    }
                    return(new HttpStatusCodeResult(200));
                }
                else
                {
                    throw new ApplicationException(String.Format(Constants.CANNOT_SAVE, Constants.DIVISION));
                }
            }
            catch (ApplicationException e)
            {
                return(new HttpStatusCodeAndErrorResult(500, e.Message));
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Check whether division is associated with contract
        /// </summary>
        /// <param name="division">division value object</param>
        /// <returns></returns>
        public int IsDivisionAssociatedWithContract(DivisionVO division)
        {
            int count = mdbDataContext.Contracts.Where(c => c.DivisionID == division.DivisionId && !c.IsDeleted).Count();

            return(count);
        }