示例#1
0
        public async Task <JsonResult> SaveAsync(FieldForceViewModel record)
        {
            try
            {
                FieldForceModel model = new FieldForceModel(_unitOfWork);
                if (ModelState.IsValid)
                {
                    await model.SaveAsync(record);

                    logger.Debug("Fieldforce saved successfully.");
                    return(Json(new { result = true }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { result = false }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                logger.Error("Error while invoking Save action method: ", ex);
                return(Json(new { result = false, error = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
示例#2
0
        public async Task <int> SaveAsync(FieldForceViewModel record)
        {
            FieldForce        fieldForce = null;
            FieldForceAddress address    = null;

            if (record.Id != null)
            {
                fieldForce = await _unitOfWork.FieldForces.GetAsync(record.Id.Value);

                if (fieldForce == null)
                {
                    throw new Exception("Invalid Fieldforce Id");
                }

                fieldForce.UpdatedBy   = System.Web.HttpContext.Current.User.Identity.Name;
                fieldForce.UpdatedDate = DateTime.Now;
                address = fieldForce.Address;
            }
            else
            {
                fieldForce           = new FieldForce();
                fieldForce.CreatedBy = System.Web.HttpContext.Current.User.Identity.Name;
            }

            if (address == null)
            {
                address           = new FieldForceAddress();
                address.CreatedBy = System.Web.HttpContext.Current.User.Identity.Name;
            }
            else
            {
                address.UpdatedBy   = System.Web.HttpContext.Current.User.Identity.Name;
                address.UpdatedDate = DateTime.Today;
            }

            fieldForce.Code  = record.Code;
            fieldForce.Name  = record.Name;
            fieldForce.Email = record.Email;
            fieldForce.Phone = record.Phone;

            address.AddressLine1 = record.AddressLine1;
            address.AddressLine2 = record.AddressLine2;
            address.City         = record.City;
            address.State        = record.State;
            address.Zip          = record.ZipCode;

            fieldForce.Address = address;

            fieldForce.MarketHierarchyId = record.MarketHierarchyId;


            if (fieldForce.Distributors != null)
            {
                fieldForce.Distributors.Clear();
            }
            else
            {
                fieldForce.Distributors = new List <Distributor>();
            }

            if (record.DistributorIds != null && record.DistributorIds.Count > 0)
            {
                foreach (int id in record.DistributorIds)
                {
                    Distributor distributor = _unitOfWork.Distributors.Get(id);
                    if (distributor != null)
                    {
                        fieldForce.Distributors.Add(distributor);
                    }
                }
            }

            if (fieldForce.Id <= 0)
            {
                _unitOfWork.FieldForces.Add(fieldForce);
            }

            return(await _unitOfWork.CompleteAsync());
        }