public IHttpActionResult PostBranch(BranchModel branch)
        {
            if (branch.Id == 0)
            {
                Branch model = new Branch();
                model.AddressLine1 = branch.AddressLine1;
                model.AddressLine2 = branch.AddressLine2;
                model.AddressLine3 = branch.AddressLine3;
                model.AreaCode     = branch.AreaCode;
                model.BranchCode   = branch.BranchCode;
                model.DateClosed   = Convert.ToDateTime(branch.DateClosed);
                model.DateOpen     = Convert.ToDateTime(branch.DateOpen);
                model.IsActive     = true;
                model.IsClosed     = branch.IsClosed;
                model.IsHeadOffice = branch.IsHeadOffice;
                model.IsSendStock  = branch.IsSendStock;
                model.LogId        = branch.LogId;
                model.Name         = branch.Name;
                model.CreatedOn    = System.DateTime.UtcNow;
                model.UpdatedOn    = System.DateTime.UtcNow;
                model.PostalCode   = branch.PostalCode;
                model.StoreSize    = branch.StoreSize;
                model.Telephone    = branch.Telephone;
                db.Branches.Add(model);
            }
            else
            {
                db.Entry(branch).State = EntityState.Modified;
            }
            var    pageName = Request.RequestUri.LocalPath.getRouteName();
            Object obj      = null;
            var    UserId   = 0;

            if (Request.Headers.Contains("Email"))
            {
                var email = ((string[])(Request.Headers.GetValues("Email")))[0].ToString();
                UserId = db.Users.Where(x => x.IsActive == true && x.Email.Contains(email)).FirstOrDefault().Id;
            }
            try
            {
                db.SaveChanges();
            }
            catch (Exception ex) { obj = ex; }
            finally
            {
                if (obj == null)
                {
                    var logTable = Newtonsoft.Json.JsonConvert.SerializeObject(branch, new JsonSerializerSettings()
                    {
                        PreserveReferencesHandling = PreserveReferencesHandling.Objects,
                        Formatting = Formatting.Indented
                    });
                    var flag = branch.CreateLog(pageName, logTable, UserId);
                }
            }
            return(Ok(true));
        }