Ejemplo n.º 1
0
        public void InsertFieldForce()
        {
            FieldForceAddress address = new FieldForceAddress()
            {
                AddressLine1 = "7101 Richmond Hwy", AddressLine2 = "Apt 2", State = "VA", Zip = "22306", City = "Alexandria", CreatedBy = "Unit Test"
            };
            FieldForce fieldForce = new FieldForce()
            {
                Address = address, Code = "F1", Email = "*****@*****.**", Name = "Faisal AHmed", Phone = "(571)-409-8511", CreatedBy = "Unit Test"
            };

            UnitOfWork.FieldForces.Add(fieldForce);
            UnitOfWork.Complete();

            FieldForce dbFieldForce = UnitOfWork.FieldForces.Get(fieldForce.Id);

            Assert.IsNotNull(dbFieldForce);

            Assert.AreEqual(dbFieldForce.Name, fieldForce.Name);
            Assert.AreEqual(dbFieldForce.Code, fieldForce.Code);
            Assert.AreEqual(dbFieldForce.Email, fieldForce.Email);
            Assert.AreEqual(dbFieldForce.Phone, fieldForce.Phone);

            Assert.IsNotNull(dbFieldForce.Address);
        }
Ejemplo n.º 2
0
        public async Task DeleteFieldForceAsync()
        {
            FieldForceAddress address = new FieldForceAddress()
            {
                AddressLine1 = "7101 Richmond Hwy", AddressLine2 = "Apt 2", State = "VA", Zip = "22306", City = "Alexandria", CreatedBy = "Unit Test"
            };
            FieldForce fieldForce = new FieldForce()
            {
                Address = address, Code = "F1", Email = "*****@*****.**", Name = "Faisal AHmed", Phone = "(571)-409-8511", CreatedBy = "Unit Test"
            };

            UnitOfWork.FieldForces.Add(fieldForce);
            await UnitOfWork.CompleteAsync();

            FieldForce dbFieldForce = await UnitOfWork.FieldForces.GetAsync(fieldForce.Id);

            Assert.IsNotNull(dbFieldForce);

            UnitOfWork.FieldForces.Remove(dbFieldForce);

            await UnitOfWork.CompleteAsync();

            dbFieldForce = await UnitOfWork.FieldForces.GetAsync(fieldForce.Id);

            Assert.IsNull(dbFieldForce);
        }
Ejemplo n.º 3
0
        public async Task <IHttpActionResult> SaveFieldForceAsync(FieldForceDto record)
        {
            FieldForce         fieldforce   = null;
            MarketHierarchy    market       = null;
            FieldForceAddress  address      = null;
            List <Distributor> distributors = new List <Distributor>();

            if (ModelState.IsValid)
            {
                try
                {
                    if (record == null)
                    {
                        return(BadRequest());
                    }

                    if (record.MarketHierarchyId.HasValue)
                    {
                        market = await _unitOfWork.MarketHierarchies.GetAsync(record.MarketHierarchyId.Value);

                        if (market == null)
                        {
                            return(BadRequest("Invalid market id"));
                        }
                    }

                    foreach (int id in record.DistributorIds)
                    {
                        Distributor distributor = _unitOfWork.Distributors.Get(id);
                        if (distributor == null)
                        {
                            return(BadRequest("Invalid fistributor id"));
                        }
                        distributors.Add(distributor);
                    }


                    if (record.Id != null)
                    {
                        fieldforce = _unitOfWork.FieldForces.Get(record.Id.Value);
                        if (fieldforce == null)
                        {
                            return(NotFound());
                        }

                        fieldforce.UpdatedBy   = "web:api";
                        fieldforce.UpdatedDate = DateTime.Now;
                    }
                    else
                    {
                        fieldforce = new FieldForce();
                        _unitOfWork.FieldForces.Add(fieldforce);

                        fieldforce.CreatedBy = "web:api";
                    }

                    fieldforce.Distributors.Clear();
                    fieldforce.Distributors = distributors;

                    fieldforce.MarketHierarchy = market;

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

                    address = new FieldForceAddress();
                    address.AddressLine1 = record.AddressLine1;
                    address.AddressLine2 = record.AddressLine2;
                    address.City         = record.City;
                    address.State        = record.State;
                    address.Zip          = record.Zip;

                    await _unitOfWork.CompleteAsync();

                    return(Ok(new { status = "success" }));
                }
                catch (Exception ex)
                {
                    if (_logger.IsDebugEnabled)
                    {
                        _logger.Debug(ex);
                        return(InternalServerError(ex));
                    }
                    return(InternalServerError());
                }
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
Ejemplo n.º 4
0
        public void InsertFieldForceWithDistributorAndMarketHierarchy()
        {
            MarketHierarchy nation = new MarketHierarchy()
            {
                Code = "M1", CreatedBy = "Unit Test", Name = "US", Type = MarketHierarchyType.Nation
            };
            MarketHierarchy region = new MarketHierarchy()
            {
                Code = "M2", CreatedBy = "Unit Test", Name = "Virginia", Type = MarketHierarchyType.Region, Parent = nation
            };
            MarketHierarchy territory = new MarketHierarchy()
            {
                Code = "M3", CreatedBy = "Unit Test", Name = "Alexandria", Type = MarketHierarchyType.Territory, Parent = region
            };
            MarketHierarchy route = new MarketHierarchy()
            {
                Code = "M4", CreatedBy = "Unit Test", Name = "Richmond Hwy", Type = MarketHierarchyType.Route, Parent = territory
            };

            Distributor distributor = new Distributor()
            {
                Address = "9420 Key West Avenue", CreatedBy = "Unit Test", Code = "D1", Name = "DrFirst"
            };


            FieldForceAddress address = new FieldForceAddress()
            {
                AddressLine1 = "7101 Richmond Hwy", AddressLine2 = "Apt 2", State = "VA", Zip = "22306", City = "Alexandria", CreatedBy = "Unit Test"
            };
            FieldForce fieldForce = new FieldForce()
            {
                Address = address, Code = "F1", Email = "*****@*****.**", Name = "Faisal AHmed", Phone = "(571)-409-8511", CreatedBy = "Unit Test"
            };

            fieldForce.MarketHierarchy = route;
            fieldForce.Distributors.Add(distributor);


            UnitOfWork.MarketHierarchies.Add(route);
            UnitOfWork.MarketHierarchies.Add(territory);
            UnitOfWork.MarketHierarchies.Add(region);
            UnitOfWork.MarketHierarchies.Add(nation);

            UnitOfWork.Distributors.Add(distributor);

            UnitOfWork.FieldForces.Add(fieldForce);

            UnitOfWork.Complete();

            FieldForce dbFieldForce = UnitOfWork.FieldForces.Get(fieldForce.Id);

            Assert.IsNotNull(dbFieldForce);

            Assert.AreEqual(dbFieldForce.Name, fieldForce.Name);
            Assert.AreEqual(dbFieldForce.Code, fieldForce.Code);
            Assert.AreEqual(dbFieldForce.Email, fieldForce.Email);
            Assert.AreEqual(dbFieldForce.Phone, fieldForce.Phone);

            Assert.IsNotNull(dbFieldForce.MarketHierarchy);
            Assert.AreEqual(dbFieldForce.MarketHierarchy.Id, route.Id);
            Assert.AreEqual(dbFieldForce.MarketHierarchy.Code, route.Code);
            Assert.AreEqual(dbFieldForce.MarketHierarchy.Name, route.Name);

            Assert.AreEqual(1, dbFieldForce.Distributors.Count);
            Assert.IsNotNull(dbFieldForce.Distributors[0]);
            Assert.AreEqual(dbFieldForce.Distributors[0].Id, distributor.Id);
            Assert.AreEqual(dbFieldForce.Distributors[0].Name, distributor.Name);
            Assert.AreEqual(dbFieldForce.Distributors[0].Name, distributor.Name);
        }
Ejemplo n.º 5
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());
        }